From a9562433d9f4bfe165374a2c9f1344c05cde175f Mon Sep 17 00:00:00 2001 From: Ryan Quattlebaum Date: Fri, 18 Mar 2016 21:28:43 -0400 Subject: [PATCH] Check local targets before resolving dependencies A call to generate_targets() before calling resolve_dependencies() catches invalid target names before fetching the source for the dependencies. --- src/cargo/ops/cargo_compile.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/cargo/ops/cargo_compile.rs b/src/cargo/ops/cargo_compile.rs index 448034a79..3c592ef49 100644 --- a/src/cargo/ops/cargo_compile.rs +++ b/src/cargo/ops/cargo_compile.rs @@ -157,6 +157,9 @@ pub fn compile_pkg<'a>(root_package: &Package, bail!("jobs must be at least 1") } + let profiles = root_package.manifest().profiles(); + try!(generate_targets(root_package, profiles, mode, filter, release)); + let (packages, resolve_with_overrides) = { try!(resolve_dependencies(root_package, config, source, features, no_default_features)) @@ -186,7 +189,6 @@ pub fn compile_pkg<'a>(root_package: &Package, let mut general_targets = Vec::new(); let mut package_targets = Vec::new(); - let profiles = root_package.manifest().profiles(); match (*target_rustc_args, *target_rustdoc_args) { (Some(..), _) | (_, Some(..)) if to_builds.len() != 1 => { -- 2.30.2